﻿namespace MiniJob.RestClient;

public interface IRestClient
{
    Task<T> GetAsync<T>(string url, Dictionary<string, string>? headers = null, CancellationToken cancellationToken = default);

    Task<HttpResponseMessage> GetAsync(string url, Dictionary<string, string>? headers = null, CancellationToken cancellationToken = default);

    Task<T> PostAsync<T>(string url, object data, Dictionary<string, string>? headers = null, CancellationToken cancellationToken = default);

    Task<HttpResponseMessage> PostAsync(string url, object data, Dictionary<string, string>? headers = null, CancellationToken cancellationToken = default);

}
